#ifndef ADM_RASTERIZER_H_
#define ADM_RASTERIZER_H_
#include <iostream>
#include "adm_matrix.h"
#include "adm_element.h"
#include "adm_vertex_shader.h"
//Rasterizer is to generate the pixel in the screen 
namespace Andromeda {
  
  class Rasterizer {
    public :
      Rasterizer() {

      }
      ~Rasterizer() {
        delete[] lines_;
        delete[] pixels_;
      }
      void RasterizeLine(const VertexShader& vShader){
        int line_has_pixel;
        vShader.getLines(AdjacentPoint, lines_, line_num_);
        for (int i=0; i< line_num_; i++) {
           line_has_pixel = lines_[i]->getNumPixel(ZPlane); //Only consider (x,y) plane
           
        }
      }
    private :
      Line* lines_;
      int   line_num_;
      vec2* pixels_;
      int   pixel_num_;

  }; 

}


#endif
